Electron + puppeteer 开发爬虫 | 您所在的位置:网站首页 › electron 多个 browserwindow › Electron + puppeteer 开发爬虫 |
Puppeteer 是什么?
puppeteer 是一个由 Google 开发的 Node.js 库,它提供了一组用于控制 Chrome 或 Chromium 浏览器的 API。通过 puppeteer,我们可以在浏览器环境中执行各种操作,例如生成 PDF、截屏、模拟用户行为、爬取数据等。由于 puppeteer 可以控制浏览器,因此它比传统的 Node.js 爬虫更加强大和灵活,也更容易实现一些复杂的功能。在 Electron 应用程序中使用 puppeteer 可以实现强大的爬虫功能,同时还可以将爬虫结果集成到应用程序中,为用户提供更丰富的功能和服务。 实现原理在Nodejs中集成puppeteer直接参考官网的Demo就可以了,这里不再赘述,下面说一下在Electron中集成puppeteer。 在Electron中集成puppeteer需要用到puppeteer-in-electron这个库。它的原理是在electron.app上开启远程debug,具体代码app.commandLine.appendSwitch('remote-debugging-port', port) ,然后用PuppeteerNode.connect({browserWSEndpoint})方法连接上这个调试端口实现调试。 官方示例 // 官方的一小段例子 const {BrowserWindow, app} = require("electron"); const pie = require("puppeteer-in-electron") const puppeteer = require("puppeteer-core"); const main = async () => { await pie.initialize(app); const browser = await pie.connect(app, puppeteer); const window = new BrowserWindow(); const url = "https://example.com/"; await window.loadURL(url); const page = await pie.getPage(browser, window); console.log(page.url()); window.destroy(); }; main(); |
CopyRight 2018-2019 实验室设备网 版权所有 |